print("---------------------可变参数--------------------")
print('可变参数就是传入的参数个数是可变的，可以是1个、2个到任意个，还可以是0个')


def functionname_v2(*name):
    "打印任何传入的参数"
    print(name)
    return


functionname_v2(1, 2, 3, 4, 5, 6)
functionname_v2('duan')


def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum+n*n
    return sum


print(calc(1, 2, 3))
print("""- 当 numbers = (1, 2, 3) 时
- 第一次循环： n = 1 ， sum = 0 + 1*1 = 1
- 第二次循环： n = 2 ， sum = 1 + 2*2 = 5
- 第三次循环： n = 3 ， sum = 5 + 3*3 = 14
- 最终返回 14 ，即 1² + 2² + 3² = 14""")
print(calc(1, 2, 3, 4, 5))

# 如果已经有一个list或者tuple，要调用一个可变参数怎么办？
# Python允许你在list或tuple前面加一个*号，把list或tuple的元素变成可变参数
nums = [1, 2, 3]
print(calc(*nums))

